package com.ruoyi.web.controller.mall.goodsProduct.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 商品产品对象 goods_product
 * 
 * @author ruoyi
 * @date 2021-01-18
 */
public class GoodsProduct //extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** SKU */
    @Excel(name = "SKU")
    private String sku;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String goodsId;

    /** 货品名 */
    @Excel(name = "货品名")
    private String name;

    /** 产品图片 */
    @Excel(name = "产品图片")
    private String icon;

    /** 货品规格 */
    @Excel(name = "货品规格")
    private String spec;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 运费 */
    @Excel(name = "运费")
    private BigDecimal postFee;

    /** 重量 */
    @Excel(name = "重量")
    private Integer weight;

    /** 库存 */
    @Excel(name = "库存")
    private Integer stock;

    /** 最小购买量 */
    @Excel(name = "最小购买量")
    private Integer buyMin;

    /** 最大购买量 */
    @Excel(name = "最大购买量")
    private Integer buyMax;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String unit;

    /** 是否下架(0上架1下架) */
    @Excel(name = "是否下架(0上架1下架)")
    private Integer disabled;

    /** 是否默认(1是默认) */
    @Excel(name = "是否默认(1是默认)")
    private Integer isDefault;

    /** 上架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date upAt;

    /** 下架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date downAt;

    /** 销售量 */
    @Excel(name = "销售量")
    private Integer numSale;

    /** 排序字段 */
    @Excel(name = "排序字段")
    private Integer location;

    /** 创建用户id */
    @Excel(name = "创建用户id")
    private Long userIdCreate;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtCreate;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtModified;

    /** 删除标记 */
    private Integer delFlag;

    /** a级价格 */
    @Excel(name = "a级价格")
    private BigDecimal priceA;

    /** b级价格 */
    @Excel(name = "b级价格")
    private BigDecimal priceB;

    /** c级价格 */
    @Excel(name = "c级价格")
    private BigDecimal priceC;




    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getSpec() {
        return spec;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPostFee() {
        return postFee;
    }

    public void setPostFee(BigDecimal postFee) {
        this.postFee = postFee;
    }

    public Integer getWeight() {
        return weight;
    }

    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Integer getBuyMin() {
        return buyMin;
    }

    public void setBuyMin(Integer buyMin) {
        this.buyMin = buyMin;
    }

    public Integer getBuyMax() {
        return buyMax;
    }

    public void setBuyMax(Integer buyMax) {
        this.buyMax = buyMax;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Integer getDisabled() {
        return disabled;
    }

    public void setDisabled(Integer disabled) {
        this.disabled = disabled;
    }

    public Integer getIsDefault() {
        return isDefault;
    }

    public void setIsDefault(Integer isDefault) {
        this.isDefault = isDefault;
    }

    public Date getUpAt() {
        return upAt;
    }

    public void setUpAt(Date upAt) {
        this.upAt = upAt;
    }

    public Date getDownAt() {
        return downAt;
    }

    public void setDownAt(Date downAt) {
        this.downAt = downAt;
    }

    public Integer getNumSale() {
        return numSale;
    }

    public void setNumSale(Integer numSale) {
        this.numSale = numSale;
    }

    public Integer getLocation() {
        return location;
    }

    public void setLocation(Integer location) {
        this.location = location;
    }

    public Long getUserIdCreate() {
        return userIdCreate;
    }

    public void setUserIdCreate(Long userIdCreate) {
        this.userIdCreate = userIdCreate;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public BigDecimal getPriceA() {
        return priceA;
    }

    public void setPriceA(BigDecimal priceA) {
        this.priceA = priceA;
    }

    public BigDecimal getPriceB() {
        return priceB;
    }

    public void setPriceB(BigDecimal priceB) {
        this.priceB = priceB;
    }

    public BigDecimal getPriceC() {
        return priceC;
    }

    public void setPriceC(BigDecimal priceC) {
        this.priceC = priceC;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sku", getSku())
            .append("goodsId", getGoodsId())
            .append("name", getName())
            .append("icon", getIcon())
            .append("spec", getSpec())
            .append("price", getPrice())
            .append("postFee", getPostFee())
            .append("weight", getWeight())
            .append("stock", getStock())
            .append("buyMin", getBuyMin())
            .append("buyMax", getBuyMax())
            .append("unit", getUnit())
            .append("disabled", getDisabled())
            .append("isDefault", getIsDefault())
            .append("upAt", getUpAt())
            .append("downAt", getDownAt())
            .append("numSale", getNumSale())
            .append("location", getLocation())
            .append("userIdCreate", getUserIdCreate())
            .append("gmtCreate", getGmtCreate())
            .append("gmtModified", getGmtModified())
            .append("delFlag", getDelFlag())
            .append("priceA", getPriceA())
            .append("priceB", getPriceB())
            .append("priceC", getPriceC())
            .toString();
    }
}
